package cn.myzqu.sign.project.server.service;


import cn.myzqu.sign.project.server.entity.ProjectStaff;

import java.util.List;
import java.util.Map;

/**
 * @Author: 的川
 * @Date: 2019/4/11 22:36
 */
public interface ProjectStaffService {

    /**
     * 新增
     * @param projectStaff
     * @return
     */
    Boolean add(ProjectStaff projectStaff);

    /**
     * 获取需要签到的人员列表
     * @param projectId
     * @return
     */
    List<ProjectStaff> getNeedSignList(String projectId);

    /**
     * 获取
     * @param userId
     * @param project
     * @return
     */
    ProjectStaff getByUserAndProject(String userId, String project);

    /**
     * 判断项目是否已经存在目标用户
     * @param projectId
     * @param userId
     * @return 有返回 true ，没有返回false
     */
    Boolean projectHasUser(String projectId, String userId);

    /**
     * 判断项目是否存在目标用户
     * @param projectId
     * @param userId
     * @param status
     * @param isSign
     * @return
     */
    Boolean projectHasUser(String projectId, String userId, Byte status, Byte isSign);

    List<Map> search(Map params);
}
